
//
// sqlite statement
//
@interface SQLiteStatement : NSObject
{
	//
	// statement
	//
	sqlite3_stmt*															_statement;
}

//
// init with statement
//
- (id)initWithStatement:(sqlite3_stmt*)statement;

//
// fetch
//
- (BOOL)fetch;

//
// close
//
- (void)close;

//
// is null
//
- (BOOL)isNull:(int)column;

//
// int value
//
- (int)intValue:(int)column;

//
// int64 value
//
- (int64_t)int64Value:(int)column;

//
// double value
//
- (double)doubleValue:(int)column;

//
// string value
//
- (NSString*)stringValue:(int)column;

@end

//
// sqlite database
//
@interface SQLiteDatabase : NSObject
{
	//
	// database
	//
	sqlite3*																_database;
}

//
// init with file name
//
- (id)initWithFileName:(NSString*)fileName;

//
// prepare statement
//
- (SQLiteStatement*)prepareStatement:(NSString*)format, ... NS_FORMAT_FUNCTION(1,2);

//
// escape string
//
+ (NSString*)escapeString:(NSString*)sqlString;

@end
